package com.jhhc.StormSurgeForecast.AstronomicalTide.Service;

import com.jhhc.StormSurgeForecast.AstronomicalTide.Pojo.BDMS_ST_ASTROTD_F;
import com.jhhc.StormSurgeForecast.AstronomicalTide.Pojo.DataBO.AstronomictTide;
import com.jhhc.StormSurgeForecast.AstronomicalTide.Pojo.DataBO.AstronomictTideTime;
import com.jhhc.StormSurgeForecast.AstronomicalTide.Pojo.DataBO.Departments;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BDMS_ST_ASTROTD_FService {

    List<BDMS_ST_ASTROTD_F> selectTide(String StationCode, String StartTime, String EndTime, int departmentId);


    List<BDMS_ST_ASTROTD_F> selectFTDZ(List<String> StationCodes, String StartTime,
                                       String EndTime, int departmentId);
    List<BDMS_ST_ASTROTD_F> selectByOnwFtdz(List<String> StationCode, String StartTime,
                                       String EndTime, int departmentId);
    List<BDMS_ST_ASTROTD_F> selectNewEstData(@Param("stcd") List<String> stcd);
    List<BDMS_ST_ASTROTD_F> selectNewOne(String stcd);

    int insertBatch(List<BDMS_ST_ASTROTD_F> entities);

    int delete(int year, List<String> stationCodes);

    int insertBatchWz(String startTime, String endTime);


    List<Departments> getDepartments();

    List<AstronomictTide> getHourlyTwcTide(@Param("startTime")String startTime, @Param("endTime")String endTime,
                                           @Param("stationCodes") List<String> stationCodes,
                                           @Param("departmentId") String departmentId,
                                           @Param("getHLTide") boolean getHLTide,
                                           @Param("projectId") int projectId);
    List<AstronomictTide> getHLTwcTide(@Param("startTime")String startTime,@Param("endTime")String endTime,
                                         @Param("stationCodes") List<String> stationCodes,
                                         @Param("departmentId") String departmentId,int projectId);
    List<AstronomictTide> getTwcTideByYear(@Param("year")String year,
                                             @Param("stationCodes") List<String> stationCodes,
                                             @Param("departmentId") String departmentId,int projectId);
    /**
     *智能模型bdms_st_astrotd_f文件所需数据
     */
    List<BDMS_ST_ASTROTD_F> tide_output(@Param("startTime") String startTime,
                                        @Param("endTime") String endTime);

    int wenZhouDataHandle(int year);
}
